#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N = 2e5 + 10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int n, x[300], y[300], u, l, r, d, ans;
void solve()
{
    // set<pair<int,int>> cnt;

    // cin>>n;
    // while(n--)
    // {
    // 	int x,y;
    // 	cin>>x>>y;
    // 	cnt.insert({x,y});
    // }

    // int ans=0;
    // for(auto&it : cnt)
    // {
    // 	int x=it.first;
    // 	int y=it.second;

    // 	int cur=0;
    // 	if(cnt.find({x-1,y})!=cnt.end()) cur++;
    // 	if(cnt.find({x+1,y})!=cnt.end()) cur++;
    // 	if(cnt.find({x,y+1})!=cnt.end()) cur++;
    // 	if(cnt.find({x,y-1})!=cnt.end()) cur++;

    // 	if(cur==4) ans++;

    // }

    // cout<<ans<<'\n';

    cin >> n;
    for(int i = 0; i < n; i++)
    {
        cin >> x[i] >> y[i];
    }
    for(int i = 0; i < n; i++)
    {
        d = u = r = l = 0;
        for(int j = 0; j < n; j++)
        {
            if(x[i] == x[j] && y[i] < y[j])
            {
                d = 1;
            }
            if(x[i] == x[j] && y[i] > y[j])
            {
                u = 1;
            }
            if(x[i] < x[j] && y[i] == y[j])
            {
                l = 1;
            }
            if(x[i] > x[j] && y[i] == y[j])
            {
                r = 1;
            }
        }
        if(u + d + l + r == 4)ans++;
    }
    cout << ans;




}

int main()
{
    close();
    // int T; cin>>T;
    // while (T--) solve();
    solve();
    return 0;
}